package com.qf.ssm.service;

import com.github.pagehelper.PageInfo;

import com.qf.ssm.po.CarInfo;
import com.qf.ssm.po.Customer;
import com.qf.ssm.po.OrderStatus;
import com.qf.ssm.po.Store;
import com.qf.ssm.qo.*;
import com.qf.ssm.vo.CarOrderVO;
import com.qf.ssm.vo.OrderAddVo;
import com.qf.ssm.vo.OrderListVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * @author 黄梓濠
 * @Create 2024-01-02-20:31
 */
public interface CarOrderService {
    //    根据关键字 分页查询订单列表
    PageInfo<OrderListVo> getKeywordPageing(Integer page, Integer size, OrderListQo orderListQo);

    //    根据承租人 电话 身份证号查询用户
    Customer selectBykey(OrderAddQo orderAddQo);
//    //根据取车门店 还车门店查询门店id
//    List<Store> selectByDetailLocation(OrderAddQo orderAddQo);

    //根据车型  车牌号查询车型id
    CarInfo selectByTypeAndNum(OrderAddQo orderAddQo);

    //添加订单
    Integer addCarOrder(OrderAddQo orderAddQo);

//    //修改订单
    Integer editCarOrder(OrderAddQo orderAddQo);

    //设置订单状态为已取消
    Integer editOrderStatus(OrderStatusQO orderStatusQO);

    //上传合同
    Integer addContract(@Param("orderFileQo") OrderFileQo orderFileQo);

    //查询全部订单状态
    List<OrderStatus> getOrderStatus();

    //获取订单表原有的数据
    OrderAddVo getOrderAdd();
}
